In image composition, a composite image can be created by combining a portion of a first image with a portion of a second image. For example, a foreground portion of a first image, such as a person or thing, can be lifted from the first image and placed over a second image which serves as a new background in the composite image. In order to combine these image portions correctly an associated matte (e.g., an alpha matte) that contains the coverage information (e.g., the shape of one or more portions being composited) is used to distinguish between the image portions. This technique, referred to as “image matting” or just “matting”, is common in still image compositing, video special effects, computer vision and a variety of other graphics and image-manipulation applications.
Well-known matting techniques include blue-screen or green-screen matting in which an alpha matte and foreground portion of an image can be readily separated from the background of the image because the background is a single user-controlled color. In contrast, for natural image matting in which the background is not a single color, the alpha matte, the foreground and the background are estimated and identified using statistical techniques. Further, natural image matting is an intrinsically under-constrained problem due to the number of unknowns in the matting equation. Consequently, separation of the alpha matte, the foreground and the background for a given image using conventional matting techniques can be quite computation intensive.
Further, because image matting is an under-constrained problem, most existing approaches rely on a “trimap” provided with an image or generated from the image that identifies at least some of a definite foreground, a definite background and/or an unknown region. A sufficiently defined trimap can assist in achieving a quality matte by reducing the number of unknown elements. Further, when matting is performed interactively by a user using a user interface, the capability of providing instant feedback to the user can be helpful because the user is able to refine the trimap as the matte is rendered until a satisfactory result is obtained. For example, providing real time feedback to a user can significantly shorten the overall matting process time and reduce user effort since the user is able to quickly identify locations where touchups are desired. Also, a highly responsive system can provide a more fluid user experience and avoid user frustration. Unfortunately, most conventional high quality matting approaches are computationally expensive and unable to provide responses in real time.